【小ネタ】色々なAWSサービスの名前解決をしてみた。
こんにちは、シマです。
AWSで各サービスを構築すると、そのサービスを利用するためのFQDNが払いだされ、そのFQDNにアクセスしてサービスを利用することが多いと思います。
今回はそのFQDNについて、VPC内からのデフォルト名前解決先で名前解決した場合と、インターネットのパブリックDNSで名前解決した場合で、グローバルIPが返ってくるのか、VPCのCIDRのIP(ローカルIP)が返ってくるのかについて調べてみました。
やってみたこと
やってみたことは単純で以下の2か所からそれぞれnslookupコマンドを使って、名前解決をしてみました。
- 端末
- インターネットのパブリックDNSで名前解決をする環境として使用します。
- EC2
- VPC内からのデフォルト名前解決先で名前解決をする環境として使用します。
全サービスや各設定の場合で全て確認することは難しいので、個人的によく利用する以下について対象を絞って確認しました。
- ALB
- ALB(Internet-facing):xxxx.ap-northeast-1.elb.amazonaws.com
- ALB(Internal):internal-xxxx.ap-northeast-1.elb.amazonaws.com
- EC2
- パブリックDNS:ec2-xxxx.ap-northeast-1.compute.amazonaws.com
- プライベートDNS:ip-xxxx.ap-northeast-1.compute.internal
- Aurora
- パブリックアクセスあり:xxxx.cluster-xxxx.ap-northeast-1.rds.amazonaws.com
- パブリックアクセスなし:xxxx.cluster-xxxx.ap-northeast-1.rds.amazonaws.com
- VPCエンドポイント
- monitoring(Interface):monitoring.ap-northeast-1.amazonaws.com
- S3(Gateway):s3.ap-northeast-1.amazonaws.com
名前解決結果が同じだったサービス
- ELB
- ALB(Internet-facing)
- グローバルIP
- ALB(Internal)
- ローカルIP
- ALB(Internet-facing)
- Aurora
- パブリックアクセスなし
- ローカルIP
- パブリックアクセスなし
- VPCエンドポイント
- S3(Gateway)
- グローバルIP
- S3(Gateway)
名前解決結果が異なったサービス
- EC2
- パブリックDNS
- 端末:グローバルIP
- EC2:ローカルIP
- プライベートDNS
- 端末:名前解決できない
- EC2:ローカルIP
- パブリックDNS
- Aurora
- パブリックアクセスあり
- 端末:グローバルIP
- EC2:ローカルIP
- パブリックアクセスあり
- VPCエンドポイント
- monitor(Interface)
- 端末:グローバルIP
- EC2:ローカルIP
- monitor(Interface)
最後に
一般的な構成の場合、あまり意識せずにより良い経路を使用するようにできていてすごいなーと改めて感心しました。
しかし、様々な制約から特殊な構成にせざるを得ないときには、こういった普段無意識なところが原因で問題発生したりするものですよね。
どなたかのトラブルシュートのきっかけになれれば幸いです。